Color image processing method and apparatus for generating device-dependent color signals

ABSTRACT

A method and apparatus for finding the stored device independent coordinate triplet (CIEL*a*b*triplet) which is closest to the device-independent target color triplet and then looking up the coordinates in device-dependent ABC space which correspond to this best fit among the color patches. A set of new points is defined in ABC space about the best fit point. The raster for the selection of these points in ABC space is independent of the stored color patch points. The magnitude of the increments away from the best fit color patch can therefore be made as small or large as desired. Using this new set of points about the best fit color match, each point of this set is converted back into CIEL*a*b* space points by interpolation and each of these points is compared with the target color in CIEL*a*b* space and the point determined with the smallest difference thereto, ΔE.

FIELD OF THE INVENTION

The present invention relates to a method and apparatus for color outputdevice characterization applicable to a wide range of color hardcopytechnologies. In particular, the present invention provides a colorimage processing method and apparatus for characterizing the imagesignals of a color output device using device-independent colorrepresentations.

In device-independent color communication, input and output devices(such as scanners and printing devices, respectively) have to becharacterized by device-independent color representations such as theCIEXYZ or CIEL*a*b* coordinates. The goal of color characterization ofoutput devices is to define the relation between the device-independentcolor representation and the device-dependent color image signals whichcontrol the amount of colorants (inks, pigments; dyes, toners) used inthe device to reproduce a color. Based upon this relation, a specifictarget color or colors of an original image can be reproduced with ahigh level of color correspondence. Preferably the colorcharacterization also includes information on the color reproductionrange or color gamut of the output devices.

DESCRIPTION OF THE PRIOR ART

The European patent application EU.A. 0 264 281 discloses a method forprinting a color on paper which matches a color on a CRT display. Thetechnique is based on linear mixing calculations in the CIExyY colorspace.

The European patent EU.P. 0 124 908 describes a method for obtaininghalftone dot percents required to reproduce the color of a colorspecimen by printing. The method is based on color density measurement.

SUMMARY OF THE INVENTION

The object of the present invention consists in providing a color imageprocessing method and apparatus for characterizing the color imagesignal values of a color output device using device-independent colorrepresentations (e.g. CIEL*a*b* coordinates). This means that the methodand the apparatus of the present invention allows determination of thedevice-independent color values and generation of signals (e.g. digitalsignals, corresponding thereto) and hence the color image signal valuesfor a color reproduction device, so that the color reproduction deviceproduces colors which are identical or closest to target colors, in sucha way that the human observer is not able to distinguish between thetarget color and the color produced by the color output device by meansof the present invention. This system is universal, i.e. applicable todifferent color hardcopy technologies (offset, electrophotography,engraving, photography, etc.).

Color image signal values are preferably a combination of three values(a triplet ABC) used to generate three or more color control signals.Color control signals are a combination of three or moredevice-dependent signals such as, for example, RGB (red, green, blue) orCMYK signals, serving to control the processor of a color reproductionoutput device so that the latter produces the colors corresponding tothese color control signals. They are called device-dependent since thesame combination of these color control signals will usually causedifferent color output devices to produce a different color.

Device-independent color coordinates are used to uniquely define eachcolor of the color spectrum. Device-independent coordinates are, forexample, CIEXYZ or CIEL*a*b* coordinates.

A further object of the present invention is to achieve a high level ofaccuracy by distributing the color samples through the color space. Thisis done by using a high concentration of samples in the areas of thecolor gamut of the color output device with non-linear responses.

Another object of the present invention is to achieve high accuracywhile keeping the number of calculations low enough to provide a fastmethod and a practical and efficient apparatus. This is done byinterpolating only a limited set of intermediate grid points in the ABCspace of the device-dependent color image signal coordinate triplets ofa color output device.

Still another object of the present invention is to guarantee a colorreproduction with minimum perceived color difference between the targetcolor and the reproduced color. This is achieved by usingdevice-independent coordinates and a ΔE color difference criterion whichcorresponds closely to the color difference perceived by the humanobserver.

Universality is achieved by using empirical data, interpolations and aprocessing method which make no assumptions about physical models orsimulations of the color response of the color output device.

In electronic image processing systems digital color transformations, bymeans of lookup tables, are used to transform various forms of colorrepresentations (tristimulus values from color scanners, RGB data forcolor monitors, CIE coordinates, etc.) into digital signals controllingcolor hardcopy output devices. For the present invention color samplesmay preferably be produced with a color output device, usingcombinations of color image signals, and these samples are preferablymeasured with a colorimeter or spectrophotometer resulting indevice-independent color coordinates. A memory means stores the valuesof each combination of the color signal values and each correspondingmeasured device-independent color triplet in the form of a firstconversion table, which relates the color image signal values and themeasured device-independent color coordinates. When a specific targetcolor, defined by its device-independent coordinate triplet, has to beproduced (e.g. printed or exposed on a color film), the storedconversion table can be searched by a processor means to find the colorimage signal values needed to produce the specific target color. Thesetup of the conversion table is from color image signal triplets todevice-independent coordinate triplets (e.g. CIEL*a*b* triplets). Inaccordance with present invention a given device-independent coordinatetriplet of a target color the device-dependent color image signal can bedetermined which, when used to generate a color with a color outputdevice, will at least approximate said target color. This means that thecolor produced with a color output device on the basis of the presentinvention will be identical to said target color or approximate it insuch a way that a human observer will not be able to distinguish betweenthe target color and the color produced by the color output device. Eachgiven target device-independent coordinate triplet and the correspondingdevice-dependent color image signal triplet determined according to thepresent invention may preferably be stored in a table as input andoutput triplets, respectively. This means that predetermined L*a*b*values may be used, which, for example, are equidistant or located atregular intervals or having natural integer values. Such a kind ofinverted table may preferably be stored in the memory means of the coloroutput device. With such an inverted table any target device-independentcoordinate triplet can easily be transformed by interpolation, e.g. bytri-linear interpolation, into the device-dependent color image signalvalues, which are used by control drive means to control the generationof colors in the color output device.

The method and the apparatus of the present invention are preferablyused with multi-dimensional conversion tables containing data atlocations which are not necessarily equidistant. As three-dimensionalstructures are to be operated on the combined result of three datasources of L*, a* and b* values have to provide a minimum. The presentinvention preferably does not use a straightforward binary processingmethod, because such a method is difficult to implement inmulti-dimensional data sets and will, in some cases, not converge to theoptimum solution, i.e. color image signals producing the smallestpossible color difference between the target color and the producedcolor.

The method of the present invention consists preferably of two phases todetermine the color image signal values A, B and C which will produce adesired minimum difference value ΔE, indicative of the differencebetween a given target color and the closest color produced by a coloroutput device.

During the first phase the method uses only the data stored in the firstconversion table to locate a stored ABC triplet (called pivot point orpivot location) having a first smallest ΔE value. In this first phasepreferably no interpolation is used to calculate additional data values.The method may already be ended after this first phase. During thesecond phase processor means sample a small search range around thepivot point, i.e. the above mentioned stored ABC triplet found in phaseone, and the results obtained by any appropriate interpolation (e.g.tri-linear interpolation) are used to perform further steps (explainedfurther on) leading to the device-dependent triplet with the desiredminimum value of ΔE. Tri-linear interpolation is, for example, explainedin the article "Color Gamut Mapping .and the Printing of Digital ColorImages" of M. C. Stone et al, published in ACM Transactions on Graphics,Vol. 7, No. 4, October 1988, pages 249-292, or in the book "Numericalrecipes in C. The Art of Scientific Computing", especially paragraph4.1, by Press, William H. et al, edited by Cambridge University Press,1988. Phase two can preferably be performed according to three similarimplementations based on the same principle, i.e. preferably thereduction of the search range in the conversion table during executionof phase two, and preferably the selection of a new center value of therange during the second phase, if this new center value provides asmaller difference with respect to the target color than the formercenter value. Since the center point does not necessarily coincide withthe geometric center point of the search range, it will further on becalled pivot point or pivot value instead of center point or centervalue, respectively.

The preferred three implementations are:

a) a binary method guaranteeing convergence to the optimum solution,i.e. providing a desired minimum difference between the target color andthe color produced by the color output device;

b) a modified binary method which reduces the search range only when itis the pivot point which produces a minimum difference value, alsoguaranteeing convergence to the optimum solution;

c) an incremental method similar to the modified binary method, butstarting with a symmetrical range.

The present invention puts only minimal constraints on the valuesselected for each of the color image signals (e.g. the values do nothave to be equidistant), thus allowing a reduction of the number ofcolor samples needed to characterize the color gamut of a device, whilemaintaining a high level of accuracy. The color image signal valuesreturned by the method and the apparatus of the present inventionprovide information on the location of the color belonging to the colorgamut of the color output device and being closest or identical to thetarget color. Moreover, the method and apparatus preferably provideinformation about colors that cannot be reproduced by the device, i.e.which lie outside its color gamut. Color image signals including minimumor maximum values indicate that the color to be produced is located onthe border of the color gamut of the color output device. In this case,the presence of a large color difference with the target color indicatesthat the target color is out of gamut and cannot be produced by thecolor output device. This information can also be stored in a conversiontable to make it available for later use.

The objects of the present invention are achieved by means of a methodand apparatus as defined in the claims.

Other objects, effects and functions of the present invention willbecome clear from the following description of the preferred embodimentswith reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of the color reproduction range of a coloroutput device in CIEL*a*b* coordinates;

FIG. 2 is a representation of one-dimensional lookup tables containingvalues for color image signals A, B and C indexed respectively by k, land m;

FIG. 3 is a representation of a three-dimensional lookup tablecontaining L* values indexed by k, l and m;

FIG. 4 is an illustration of a pivot point surrounded by 26 pointslocated on a three-dimensional cuboid shape;

FIG. 5 is an illustration of the data layout of a two-dimensionalexample belonging to the three-dimensional color space;

FIG. 6 is an illustration of the ΔE results in the two-dimensionalexample of FIG. 5;

FIGS. 7a-7d show the ΔE results for each iteration of the binary methodof the present invention;

FIGS. 8a-8f show the ΔE results for each iteration of the modifiedbinary method of the present invention;

FIG. 9a-9c show the ΔE results for each iteration of the incrementalmethod of the present invention;

FIG. 10 illustrates a system of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT OF THE INVENTION

FIG. 1 typically illustrates the range of color reproduction or colorgamut of a color output device in device-independent CIEL*a*b*coordinates. Each color in this range is produced by a specificcombination (triplet) of color image signal values represented by A, B,and C.

The relation between the L*a*b* values (triplet) and the color imagesignal triplets can be represented by the following equation:

    (L*, a*, b*).sub.i =f.sub.out (A, B, C).sub.i              (1)

i=1, . . . , n being a natural number indicating a specific triplet.

In electronic color reproduction systems these color image signal valuesA, B and C will generate three or more color control signal values, e.g.RGB signals serving to convey values for each of the primary colors red(R), green (G), and blue (B) in additive color processing, or CMYK(Cyan, Magenta, Yellow and Black) signals used in substractive colorreproduction systems.

To characterize a color output device (30) as shown in FIG. 10, amultiplicity of combinations (triplets) of the three color image signalvalues A, B and C can be selected to produce test pages containing colorsamples which are preferably measured with a colorimeter (40) or aspectrophotometer outputting device-independent coordinate triplets. TheL*a*b* triplet of the target color may preferably also be obtained byinputting an original image into a color input device (e.g. scanner)which outputs the device-independent coordinates of the colors of thisimage, if the color input device has been calibrated in order to providedevice-independent color coordinates. Each measured CIEL*a*b* triplethas a corresponding ABC triplet, and this information is stored in amemory means (20) in the form of a conversion table (A, B, C; L*, a*,b*) representing the relation of equation (1). Using the method of thepresent invention a data processor means (10) determines on the basis ofthis conversion table the ABC triplet, with which a target color,specified by its L*a*b* coordinate triplet, can be reproduced by thecolor output device. This ABC triplet is used by control means of saidcolor output device to control the generation by the color output deviceof a color identical or closest to the target color. The data processormeans (10) may preferably contain the control means of said color outputdevice. The data processor means (10) and/or the memory means (20) maypreferably be included in the color output device.

The present invention can be preferably applied in two cases. The firstcase occurs when a single or very few target L*a*b* triplets(corresponding to specific target colors), which are not available assuch in the conversion table, have to be found together with its ortheir corresponding color image signal values. The second case occurswhen frequently for a large number of target L*a*b* triplets, which arenot available as such in the conversion table, the corresponding colorimage signal values have to be found.

Each given target device-independent coordinate triplet and thecorresponding device-dependent color image signal triplet, determined bythe method of the present invention, may preferably be stored in memorymeans in the form of a conversion table, respectively as input andoutput triplets. Such an inverted table may preferably be stored in thememory of the color output device. With such a conversion table, theprocessing means of the color output device can easily transform anytarget device-independent coordinate triplet, e.g. by tri-linearinterpolation, into the device-dependent color image signal values,which are used by control or drive means to control the generation ofcolor in the color output device. With this table a transformation isestablished from CIEL*a*b* values into ABC color image signal triplets.

    (A, B, C).sub.i =f.sub.oinv (L*, a*, b*).sub.i             (2)

i having the same meaning as in equation (1).

The different locations in the conversion table contain the values ofthe color image signal triplet and are addressed by the L*a*b*coordinates. For ease of use and fast access it is preferable to selectequidistant values for the L*a*b* entry points of the table, the numberof which define how large the table and how accurate the results ofinterpolated values will be. The original or first and the invertedconversion table may also be constructed from other device-independentcoordinates, e.g. LCH coordinates (Luminance, Chroma, Hue). For this itis sufficient to have a transformation from the LCH triplets toCIEL*a*b* coordinate triplet to be able to use the present invention.The apparatus of the present invention may advantageously include meansfor performing this transformation. In a similar way, a conversion tablefrom device-dependent color image signals from a color input device(e.g. a scanner) to color image signals controlling a color outputdevice can be constructed, provided the device-dependent input signalscan be transformed into CIEL*a*b* coordinates (e.g. by calibrating thecolor input device).

In a similar way, if given device-dependent color signal values of acolor input device have been transformed into device-independentcoordinates, the present invention can be used to determine the colorimage signal values by which the color output device can produce a coloridentical or closest to the target color which has been input in thecolor input device and which corresponds to these given device-dependentvalues.

The apparatus of the present invention may preferably provideinformation on the color gamut of the output device, and in particular,about L*a*b* triplets which cannot be reproduced. For such out-of-gamutcolors the method will return the color image signal triplets ABCcorresponding to a color on the border of the color gamut closest to theout-of-gamut color, and the color difference value ΔE providesinformation about the distance between the target color and thereproduced color.

The first conversion table stored in the memory means contains themeasured L*a*b* triplet of the color samples and the corresponding colorimage signal triplets ABC with which these L*a*b* triplets can beproduced when the color image signals are applied to the processingmeans of a color output device. To provide an efficient access method tothe stored data a three-dimensional structure is preferred. Each axis ofthis structure is respectively defined by the values selected for thecolor image signals A, B and C.

One-dimensional lookup tables may preferably be used to store therespective values A, B and C, thus increasing the flexibility in theselection of color image signal values for the production of colorsamples. The values for A, B and C are stored in the respective lookuptables and indexed respectively by k, l, m as shown in FIG. 2. Eachselected value of A, B, C is thus uniquely defined by its index value,respectively k, l and m. The use of one-dimensional lookup tables forthe respective values A, B and C offers a high degree of flexibilitywith A, B and C being independent from each other. For example, thedistance between two consecutive A values may be different from thedistance between two consecutive B values (or C values). It is alsopossible to have a different number of values for A, B and C. This wouldmean that the ABC three-dimensional structure is not necessarily a cubebut could be a cuboid. Each color sample produced by an ABC triplet canpreferably also be referenced by the corresponding values of the k, l,and m indexes. This allows storage of the corresponding measured valuesof the L*a*b* triplet of each color sample in three-dimensionalstructures addressed by the same k, l, m indexes (as shown in FIG. 3),since the values of a L*a*b* triplet corresponds with an ABC triplet.Any combination of k, l, m values can be used to locate the values ofthe color image signals A, B and C in the one-dimensional lookup tablesshown in FIG. 2 and the corresponding measured L*a*b* triplets in thethree-dimensional structure shown in FIG. 3.

The goal of the preferred embodiment is to find the L*a*b* triplet and,hence, the corresponding device-dependent ABC triplet, which willproduce the smallest ΔE color difference value between the CIEL*a*b*coordinates of the target color and the CIEL*a*b* coordinates of theclosest color which the device can produce.

ΔE is defined by the following equation: ##EQU1## with

    ΔL*=L*target-L*search

    Δa*=a*target-a*search

    Δb*=b*target-b*search

ΔL, Δa and Δb represent the difference between the CIEL*a*b* coordinatesof the target color and the L*a*b* values generated by the method. Theparameters r, s and t are weighting values and can have the value of oneor any other value and may have the same or a different value. If theparameters r, s and t all have the value of one, the equation (3) thenrepresents the official CIE ΔE definition.

The method of the present invention follows preferably a two-phaseapproach to determine the A, B, C values which will produce the desiredminimum ΔE. During the first phase the method uses only the data storedin the conversion table to locate a stored ABC triplet (pivot point orpivot value) producing a first smallest ΔE. In this first phase nointerpolation is used to calculate additional data values. During thesecond phase a small range around the pivot point, i.e. the abovementioned stored ABC triplet found in phase one, is sampled and theresult obtained by tri-linear interpolation or any other appropriateinterpolation is used in further steps (explained in detail further on)leading to the desired minimum value of ΔE.

The aim of phase one is to locate in the conversion table the storeddevice-independent coordinate triplet of the color sample which has thesmallest color difference ΔE value with respect to the CIEL*a*b* colorcoordinates of the target color. This is preferably achieved bysequentially selecting all combinations of the k, l, m indexes, and foreach combination using the corresponding L*a*b* triplet from thethree-dimensional structure to calculate the color difference ΔE withthe target color L*a*b* triplet. At the start of phase one, for thefirst k, l, m combination, the ΔE value is calculated and is stored inmemory means. Each following new ΔE of other k, l, m combinations iscompared with the previously stored ΔE value. If the new ΔE value issmaller than the stored ΔE value, the stored value of the minimum ΔEwill be updated to this new ΔE value together with the new correspondingvalues of the k, l and m indexes. At the end of this sequence the laststored index values ks, ls, ms will point to the values of the colorimage signal coordinate triplet Ac, Bc, and Cc corresponding to thecolor sample having the smallest color difference ΔE with the targetcolor, i.e. between their respective CIEL*a*b* triplets. The Ac, Bc andCc are used as pivot point in phase two, if phase two is executed.

Phase two is started by defining a set of new ABC triplets in a specificrange surrounding the pivot triplet found in phase one. The locations ofthese new ABC triplets depend on the search range selected in the ABCspace as will be explained hereafter. For these new ABC triplets thecorresponding triplets of L*, a* and b* values are calculated byinterpolation, e.g. by tri-linear interpolation, and for each ABCtriplet and corresponding calculated L*a*b* triplet the ΔE with thetarget color is determined. The ABC triplet of this set producing thedevice-independent L*a*b* triplet having the smallest ΔE will thenpreferably be used as a new pivot triplet to define again a new set ofA, B, C triplets around this new pivot triplet. If two or more L*a*b*triplets produce the same smallest ΔE, then either one of these tripletsis taken as the pivot point and is then maintained as such, or the firsttriplet of these triplets which provides the smallest ΔE is taken as thenew pivot point. The procedure of phase two described above can thenpreferably be repeated until the ABC triplet and the correspondingL*a*b* triplet with the desired minimum ΔE are found. Phase two canpreferably be implemented in three different ways. In the followingdescription the method applied in a three-dimensional structure (ABCspace) will be explained by means of two-dimensional examples for easeof representation (FIGS. 5-9).

a. Binary method

The ks, ls, ms values resulting from phase one refer to color imagesignal values which can be found in the one-dimensional lookup tablesshown in FIG. 2. These color image signal values corresponding with ks,ls and ms will be named Ac, Bc, and Cc, respectively, i.e. the pivottriplet Ac, Bc, Cc.

Six range or increment values are defined referring to up and downdirections, i.e. the respective A, B and C axis in the three-dimensionalABC structure (range-Ac-up, range-Ac-down, range-Bc-up, range-Bc-down,range-Cc-up and range-Cc-down) thus defining two additional points oneach A, B and C axis. With these six ranges 26 new points, i.e. 26 newABC triplets, can be located around the pivot triplet Ac, Bc, Cc on acuboid shape as shown in FIG. 4.

The values for these ranges can be fixed or can be a function of the Ac,Bc and Cc values. There are many possibilities to implement such afunction. The examples described below illustrate how the ranges can bederived from the Ac, Bc and Cc values. Given the values of Ac, Bc andCc, the differences with respect to the respective values located justabove and below in the one-dimensional lookup tables of FIG. 2 arecalculated and these differences, or a somewhat smaller value (e.g. 80%)or the closest binary value (e.g. 2, 4, 8, 16, 32, . . . ), are used asthe initial values of the ranges. A very flexible way to define theseranges is, for example, to use one-dimensional lookup tables, similar tothose shown in FIG. 2, indexed by k, l and m to store the preferredselected range values.

With the target CIEL*a*b* triplet chosen in this example (L*=36,1;a*=31,2; b*=-12,7), phase one resulted in the pivot point Ac=8 and Bc=4.The two-dimensional diagram in FIG. 5 shows a part of the A and B axesand the selected values of A (0, 8, 20) and B (0, 4, 18) that where usedto produce color samples. The measured L*, a*, b* triplets of the nine(27 in the three-dimensional ABC structure) color samples are alsoindicated. FIG. 6 shows the ΔE values of these nine color samples. Forthe value Ac=8 the values 0 and 20 are the values respectively justabove and below Ac. In the example below, for the first iteration, thedifference between Ac and the respective values just above and below arehalved to define the respective up and down increments in the up anddown A direction, e.g. range-Ac-up and range-Ac-down. The same is donefor B (0, 4, 18). As already mentioned, FIG. 5 and 6 show only thetwo-dimensional part of the example. It is obvious that for the Cdirection a similar process is used since, in reality, the tripletvalues A, B and C of the ABC space are used.

The 26 new points located on the sides of the cuboid will havecoordinates which usually do not coincide with the respective values inthe A, B and C look up tables (for example, they will be at any locationin FIG. 5 except at the nine with known CIEL*a*b* values). For each ofthese 26 ABC triplets the corresponding L*a*b* triplets can becalculated by tri-linear or any other known method of interpolation.

The following equations are used in tri-linear interpolation:

The triplets ABC are the coordinates of the eight neighboring points.

    ______________________________________                                        A      B        C      Coefficients                                           ______________________________________                                        Low    Low      Low    (1 - u) x (1 - v)                                                                            x (1 - w)                               High   Low      Low    u       x (1 - v)                                                                            x (1 - w)                               Low    High     Low    (1 - u) x v    x (1 - w)                               High   High     Low    u       x v    x (1 - w)                               Low    Low      High   (1 - u) x (1 - v)                                                                            x w                                     High   Low      High   u       x (1 - v)                                                                            x w                                     Low    High     High   (1 - u) x v    x w                                     High   High     High   u       x v    x w                                     ______________________________________                                    

Since the ABC space is a three-dimensional space, eight (2³)coefficients are necessary. Each of these eight coefficients aremultiplied with the L*a*b* triplet of one of the respective eight ABCtriplets neighboring the ABC triplet of which the L*a*b* triplet valueshave to be calculated. The u, v and w values represent the ratio of thelocation of the respective A, B and C values of that ABC triplet withrespect to the respective A, B and C values of the selected neighboringpoints on the A, B and C axis, respectively. The ratio is calculated foreach axis by dividing the projected distance between the ABC triplet andits lower neighbor by the projected distance between the higher and thelower neighbor for each respective axis.

The example herebelow illustrates the interpolation in a two dimensionalstructure for case of representation. This means that instead of eightthere are four (2²) coefficients to be calculated. The interpolationexample aims at finding the L*a*b* triplet with the corresponding ΔE forthe point (A, B)=(7,10) depicted in FIG. 7b. The neighboring points onthe A axis are 0 and 8, whereas the neighboring points on the B axis are4 and 18, hence forming the pairs (0, 4), (8, 4), (0, 18) and (8, 18)for each of which the respective coefficients are calculated as shown inthe table below. The u value is (7-0)/(8-0)=0,875 and the v value is(10-4)/(18-4)=0,429. The table also shows the L*, a* and b* values foreach of the four pairs. These L*a*b* triplets are all known from thefirst conversion table mentioned above. The L*, a* and b* values ofthese four L*a*b* triplets are multiplied with the respectivecoefficient as shown in the following table. The results of thecalculation have been rounded off to three digits after the comma.

    __________________________________________________________________________    Location             L*x   a*x    b*x                                         A     B     Coefficient                                                                          L*                                                                              Coef                                                                              a*                                                                              Coef                                                                              b* Coef                                        __________________________________________________________________________    0      4    (1 - u)x(1 - v)                                                                      40                                                                              2,857                                                                             32                                                                              2,286                                                                             -3 -0,214                                                  0,071                                                             8      4    u x(1 - v)                                                                           40                                                                              20,000                                                                            35                                                                              17,500                                                                            -10                                                                              -5,000                                                  0,500                                                             0     18    (1 - u)x v                                                                           30                                                                              1,607                                                                             10                                                                              0,536                                                                             -20                                                                              -1,071                                                  0,054                                                             8     18    u x v 0,375                                                                          25                                                                              9,375                                                                             28                                                                              10,500                                                                            -25                                                                              -9,375                                      Sum                  33,839                                                                              30,821 -15,661                                     Target L*a*b*        36,1  31,2   -12,7                                       Δ              2,261 0,379  2,961                                       Δ.sup.2        5,111 0,143  8,766                                       ΔL*.sup.2 + Δa*.sup.2 + Δb*.sup.2 = ΔE.sup.2                               14,02                                                    ΔE             3,744                                                    __________________________________________________________________________

The respective sums represent respectively the L*=33,839; a*=30,821 andb*=-15,661 of the pair (A, B)=(7, 10).

The value Δ represents the difference between each of the sums and therespective target L*, a* and b* values.

The L*, a*, b* values obtained by interpolation are then used tocalculate the color difference ΔE with the L*a*b* triplet of the targetcolor. The ΔE results of the 27 triplets, i.e. the 26 new ones and thepivot triplet, are compared with each other and the point giving thesmallest ΔE is selected as the new pivot triplet.

The coordinates of this new location (pivot point) are now named Ac, Bc,Cc and the process described above is restarted with smaller ranges(i.e. smaller increments); e.g. increment_(i+1) =r×increment_(i), wherer<1 (if desired, a different r value may be used for every range and forevery iteration) and i being a natural number indicating which iterationthe range is belonging to.

This process can be repeated until a ΔE value is found which is smallerthan a pre-defined minimum or until the ranges become zero. Thiscondition presents a problem in three-dimensional structures because thedifferent ranges will decrease in a different way and one range willprobably become zero or reach its predefined minimum before the othersdo (see example below). In that case the process must not be stoppedsince the minimum ΔE may not have been found yet.

In the preferred example given here below the ranges will not be reducedto zero, but will be maintained at a minimum value of one. Theprocessing will preferably be stopped when a ΔE value is found smallerthan the predetermined minimum or when all three ranges (in the A, B andC direction, respectively) are reduced to one and the smallest ΔE isprovided by the pivot point.

FIG. 7 shows the sequence of events when the binary method describedabove is used with the data in the two-dimensional example. FIG. 7ashows the results of the first iteration starting from the pivotlocation Ac=8, Bc=4 and the eight points obtained with the ranges:

    range-Ac-down=4, range-Ac-up=6

    range-Bc-down=2, range-Bc-up=7

Range-Ac-down is found by (8-0)/2; range-Ac-up is (20-8)/2;range-Bc-down is (4-0)/2; range-Bc-up is (18-4)/2.

For the second iteration the point (or location) with ΔE=5.7 (A=4, B=11)is selected as new pivot point since this is the smallest ΔE provided bythis set of 9 points (or 27 in the three-dimensional ABC structure). Theranges are, for example, reduced to respectively 2, 3, 1 and 3 bydividing the previous ranges by two and rounding off to the lowerinteger. The result is shown in FIG. 7b.

For the third iteration the point with ΔE=3.7 (A=7, B=10) is selected asnew pivot point and the ranges are reduced to respectively 1, 1, 1and 1. As explained previously, the range-Bc-down which had a value ofone is not reduced to zero but is maintained at one. This allows themethod to be continued in the B-down direction, too. The result is shownin FIG. 7c.

For the fourth iteration the point with ΔE=1.7 (A=6, B=9) is selected asthe new pivot point and the ranges are maintained at 1, 1, 1 and 1. Theresult is shown in FIG. 7d. With this iteration the minimum ΔE is foundat the location with Ac=6 and Bc=8. This ΔE is smaller than thepredefined minimum ΔE and therefore the method is ended. Extending thisto the three-dimensional ABC structure, a Cc value would, of course,also be provided, which together with the Ac and Bc values representsthe triplet providing this minimum ΔE.

b. Modified binary method

When one of the ranges in the binary method described above is muchsmaller than the other ranges, it decreases to the predetermined minimumvalue very early in the course of the method, thus reducing theeffectiveness of that method. The modified binary method avoids thiseffect. Its iterations are the same as the ones of the binary method,except that the ranges are only reduced when the smallest ΔE value isfound for the point located inside the cuboid, i.e. the pivot point.This means that the pivot point is the same as in the previousiteration. In all other cases (the 26 points on the sides of the cuboic)the ranges are not reduced. The criteria for stopping the method are thesame as in the binary method.

FIG. 8 shows the sequences occurring when this method is used with thedata of the two-dimensional example. FIG. 8a is identical to FIG. 7asince the first iteration values of both methods are the same. For thesecond iteration the location with ΔE=5,7 (A=4, B=11) is selected as thenew pivot point. The ranges are not reduced, since this new pivot pointis different from the one used during the first iteration. This leads tothe result shown in FIG. 8b. For the third iteration the location withΔE=2,9 (A=4, B=9) is selected and the ranges are not reduced. This leadsto the result shown in FIG. 8c. For the fourth iteration the locationwith ΔE=2,9 (A=4, B=9) is the same pivot point as in the third iterationand therefore the ranges are reduced to respectively 2, 3, 1 and 3. Thisleads to the result shown in FIG. 8d. For the fifth iteration thelocation with ΔE=1,2 (A=7, B=8) is selected and the ranges are notreduced. This leads to the result shown in FIG. 8e. For the sixthiteration the location with ΔE=1,2 (A=7, B=8) is the same pivot point asin the fifth iteration and therefore the ranges are reduced in this caseto 1 1, 1 and 1, respectively. This leads to the result shown in FIG.8f. With this iteration the minimum ΔE is found at the location withAc=6 and Bc=8. This ΔE is smaller than the predefined minimum ΔE andtherefore the method is stopped.

c. Incremental method

The modified binary method avoids the fast reduction of the smallestrange to a predefined minimum value of one, but, on the other hand, thelarge ranges maintained at the beginning of the method introduceadditional iterations. The incremental method also avoids the fastreduction of the smallest range to a value of one, however, withoutintroducing additional iterations. The method starts with sufficientlysmall and identical ranges so that they simultaneously decrease to zero.The testing of the criteria for stopping the method becomes easier toimplement too, since the values of the ranges do not have to be checkedindividually.

FIG. 9 shows the sequences occurring when this method is used with thedata of the two-dimensional example. FIG. 9a shows the results of thefirst iteration starting from location Ac=8, Bc=4 and the eightlocations obtained with all the ranges equal to 4. For the seconditeration the location with ΔE=2,5 (A=8, B=8) is selected as the newpivot point and the ranges are not reduced. This leads to the resultshown in FIG. 9b. For the third iteration the location with ΔE=2,5 (A=8,B=8) is the same pivot point as in the second iteration and thereforethe ranges are reduced from 4 to 2. This leads to the result shown inFIG. 9c. With this iteration the minimum ΔE is found at the locationwith Ac=6 and Bc=8. This ΔE is smaller than the predefined minimum ΔEand therefore the method is stopped.

The final result of each of the three implementations of the method is atriplet of ABC values, the corresponding triplet of L*a*b* values andthe resulting ΔE. If the ΔE is larger than the predetermined minimum,this means that the target color is not within the color gamut of thecolor output device and cannot be reproduced accurately by this device.In this case the triplet of ABC values will contain one or more minimumor maximum values defining a location on the border of the color gamutclosest to the target color and the ΔE value indicates how far thetarget color is located from this border value.

The above preferred embodiments have been described using the CIEL*a*b*color space. However, one may also start with the LCH space, the Luvspace or any other device-independent color space. For each LCH tripletthe corresponding CIEL*a*b* triplet can be calculated using thefollowing equations:

    L=L                                                        (4)

    a=C×cos(H)                                           (5)

    b=C×sin(H)                                           (6)

The resulting L*a*b* values are then used as target color coordinates inthe above described method. The values of the color image signals A, Band C returned by the method can be stored in an inverted conversiontable indexed by the L, C, H triplets. Also the "out-of-gamut"information (ΔE value and an "out-of-gamut" indicator) can be stored ina similar conversion table also indexed by the L, C, H triplets. Thus,one can set up a conversion table for predictive color reproduction ofcolors defined by LCH (Luminance, Chroma, Hue) coordinates. This isillustrated by the following example. The grid of the conversion table,for example, is defined by 11 values for L (from 0 to 100 in incrementsof 10), 11 values for C (from 0 to 100 in increments of 10) and 24values for H (from 0 to 360 in increments of 15). This gives11×11×24=2904 combinations of LCH coordinate triplets. For each LCHcombination the present invention is applied to find the ABC tripletswhich can then be stored in the conversion table indexed by the LCHtriplets.

I claim:
 1. Method for generating device-dependent signalsrepresentative of target colors, using a first conversion tablecontaining device-dependent color image signal triplets of a coloroutput device and their corresponding device-independent coordinatetriplets, said method comprising:(1) determining in said conversiontable a first device-independent coordinate triplet having the smallestfirst color difference value ΔE with respect to the device-independentcoordinate triplet of a target color, and (2) determining from saidfirst determined device-independent coordinate triplet adevice-dependent color image signal triplet which, when employed togenerate a color with said output device at least approximates saidtarget color wherein said second determining step (2) is based on agroup of known preselected device-dependent color image signal tripletssurrounding a given device-dependent color image signal triplet, thedevice-independent coordinate triplets of said preselecteddevice-dependent color image signal triplets being either known orcalculated by interpolation from device-independent coordinatetriplet/device-dependent color image signal triplet sets known from saidfirst conversion table, each one of the group of said device independentcoordinate triplets of said preselected device-dependent color imagesignal triplets is compared with the device independent coordinate ofsaid target color and the device-dependent color image signal tripletcorresponding to the device independent coordinate triplet of said groupfor which a second color difference ΔE with respect to thedevice-independent coordinate triplet of said target color is thesmallest is selected as said generated device-dependent color imagesignal triplet.
 2. Method according to claim 1, wherein said conversiontable relates actual device-dependent color image signal triplets withdevice-independent coordinate triplets measured from the color generatedby said respective actual device-dependent color image signal tripletsusing said color output device.
 3. Method according to claim 1 or 2,further comprising the step of:(3) storing the device-independentcoordinate triplet of said target color as an input triplet and saidgenerated device-dependent color image signal triplet, determined duringstep (2), as an output triplet in the form of a second conversion table.4. Method according to claim 1, in which said first or second colordifference value ΔE is the distance in the device-independent CIEL*a*b*space between the device-independent coordinate triplet of said targetcolor and the device-independent coordinate triplet corresponding to adevice-dependent color image signal triplet in particular the weighteddistance.
 5. Method according to claim 4, wherein step (2) includesdetermining the presence of a target color outside the color gamut ofsaid color output device, if at least one value of said new triplet Ac,Bc, Cc is a minimum or a maximum value of the A, B, C space of saidcolor output device and said corresponding third difference value ΔE islarger than said predetermined minimum difference value.
 6. Methodaccording to claim 1, in which a device-dependent color image signalcoordinate triplet, preferably corresponding to said firstdevice-independent coordinate triplet, is indicated as a pivot tripletAc, Bc, Cc; said second determining step (2) further comprising thefollowing steps:(a) selecting for each value of said pivot triplet Ac,Bc, Cc a positive and a negative increment on the respective A, B and Caxis of the ABC color space of said output device, thus defining two newadditional points on each of the A, B and C axes; (b) determining allpossible A, B, C combination triplets from said pivot triplet and saidincrements and calculating the corresponding device-independentcoordinate triplets by interpolation using the device-independentcoordinate triplets stored in said first conversion table for devicedependent ABC triplets neighboring said A, B, C combination triplets;(c) calculating for each said calculated device-independent coordinatetriplet a third difference value ΔE with respect to thedevice-independent coordinate triplet of said target color; (d)selecting from said A, B, C combination triplets and said pivot tripletthe one corresponding to the calculated device-independent coordinatetriplet having the smallest third difference value ΔE as a new tripletAc, Bc, Cc; and, (e) ending the method, preferably when said smallestcalculated third difference value ΔE is smaller than a predeterminedminimum difference value, and using said new pivot triplet Ac, Bc, Cc assaid generated device-dependent color image signal triplet.
 7. Methodaccording to claim 6, in which at least one, preferably each of saidincrements, of step (a) is determined by one of a reduction by apredetermined value in comparison with the previous increments andmaintained at a respective predetermined minimum value, thus definingtwo new additional points on each A, B and C axis.
 8. Method accordingto claim 6 or 7, in which (e) comprises ending the method when saidincrements are equal to their respective predetermined minimum value andwhen the new triplet Ac, Bc, Cc is identical to the one of the previousiteration, and using the new triplet Ac, Bc, Cc as said generateddevice-dependent image signal triplet.
 9. Method according to claim 7 inwhich said reduction of said increments is only executed if said newtriplet Ac, Bc, Cc is identical to the previous Ac, Bc, Cc.
 10. Methodaccording to claim 7, in which all increments are reduced so as to havethe same distance with respect to said pivot point on each of the threeA, B and C axes.
 11. Method according to claim 6, in which allincrements in said step (a) have the same distance with respect to saidpivot point on each of the three A, B and C axes.
 12. Method accordingto claim 6 wherein step (e) includes repeating steps (a) to (d)employing said new triplet Ac, Bc, Cc determined in step (d) as saidpivot triplets for step (a) in the next iteration.
 13. Method accordingto claim 1, wherein said second determining step (2) furthermoreincludes determining the presence of a target color outside the colorgamut of said color output device.
 14. Apparatus for generatingdevice-dependent signals representative of target colors, comprising:(a)first input means for receiving a device-independent coordinate tripletof a given target color; (b) first memory means in which a conversiontable is stored, said first conversion table containing device-dependentcolor image signal triplets of a color output device and theircorresponding device-independent coordinate triplets; (c) first dataprocessor means for performing, on the basis of said first conversiontable, a conversion of said device-independent triplet of said giventarget color into a generated device-dependent color image signalcoordinate triplet which, when employed to generate a color with saidcolor output device, at least approximates said target color, said firstdata processing means further comprising:first determining means fordetermining, in said first conversion table, a first device-independentcoordinate triplet having the smallest first color difference value ΔEwith respect to the device-independent coordinate triplet of said targetcolor; and, second determining means for determining from said firstdevice-independent coordinate triplet said generated device-dependentcolor image signal coordinate triplet; wherein said second determiningmeans bases the determination of said first device-dependent color imagesignal coordinate triplet on a group of known preselecteddevice-dependent color image signal triplets surrounding a givendevice-dependent color image signal triplet, the device-independentcoordinate triplets of said preselected device-dependent color imagesignal triplets being either known or calculated by interpolation fromdevice-independent coordinate triplet/device-dependent color imagesignal triplet sets known from said first conversion table, each one ofthe group of said device independent coordinate triplets of saidpreselected device-dependent color image signal triplets is comparedwith the device independent coordinate of said target color and thedevice-dependent color image signal triplet corresponding to the deviceindependent coordinate triplet of said group for which a second colordifference ΔE with respect to the device-independent coordinate tripletof said target color is the smallest is selected as said generateddevice-dependent color image signal triplet.
 15. Apparatus according toclaim 14, further comprising:(d) second memory means for storing thedevice-independent coordinate triplet of said target color as an inputtriplet and said generated device-dependent color image signal triplet,which at least approximates said target color, as an output triplet inthe form of a second conversion table.
 16. Apparatus according to claim14, said apparatus being said color output device.
 17. Apparatusaccording to any of claims 14 through 16, in which said first or secondcolor difference value ΔE is the distance in the device-independentCIEL*a*b* space between said device-independent coordinate triplet ofsaid target color and the device-independent coordinate tripletcorresponding to a device-dependent color image signal triplet, inparticular the weighted distance.
 18. Apparatus according to claim 16further comprising:(d) second memory means for storing thedevice-independent coordinate triplet of said target color as an inputtriplet and said generated device-dependent color image signal triplet,which at least approximates said target color, as an output triplet inthe form of a second conversion table.
 19. Apparatus according to claim18 further comprising:(e) second input means for receivingdevice-independent coordinate triplets of target colors as inputtriplets; (f) second data processing means for determining for an inputtriplet of a target color, received by said second input means thecorresponding output triplet on the basis of said second conversiontable stored in said second memory means; and (g) output means foroutputting a color represented by an output triplet determined by saidsecond data processing means, said output color at least approximating atarget color.
 20. Apparatus according to claim 14, in which said firstdata processor means further comprises:indicator means for setting adevice-dependent color image signal coordinate triplet, preferablycorresponding to said first device-independent coordinate triplet, as apivot triplet Ac, Bc, Cc; and processing means adapted for executing thefollowing steps:(a) selecting for each value of said pivot triplet Ac,Bc, Cc, a positive and a negative increment on the respective A, B, andC axis of the ABC color space of said output device, thus defining twonew additional points on each of the A, B, and C axes; (b) determiningall possible A, B, C combination triplets from said pivot triplet andsaid increments and calculating the corresponding device-independentcoordinate triplets by interpolation using the device-independentcoordinate triplets stored in said first conversion table for devicedependent ABC triplets neighboring A, B, C combination triplets; (c)calculating for each said calculated device-independent coordinatetriplet a third difference value ΔE with respect to thedevice-independent coordinate triplet of said target color; (d)selecting from said A,B, C combination triplets and said pivot triplet,the one corresponding to the calculated device-independent coordinatetriplet having the smallest third difference value ΔE as a new tripletAc, Bc, Cc; and, (e) ending the method, preferably when said smallestcalculated third difference value is smaller than a predeterminedminimum difference value, and using said new pivot triplet Ac, Bc, Cc assaid generated device-dependent color image signal triplet. 21.Apparatus according to one of the claims 14 through 16 or 20, furthercomprising information output means outputting a signal indicative ofthe presence of a target color, received by said input means, which liesoutside the color gamut of said color output device.
 22. Apparatusaccording to claim 20, further comprising detecting means for detectingthe presence of a target color, received by said input means, which liesoutside the color gamut of said color output device, if at least onevalue of said new triplet Ac, Bc, Cc of said step (e) is a minimum or amaximum value of the A, B, C color space of said color output device andsaid corresponding third difference value ΔE is larger than saidpredetermined minimum difference value.
 23. Apparatus according to claim20 wherein said processing means is adapted to repeat steps (a) to (d)employing said new triplets Ac, Bc, Cc determined in step (d) as saidpivot triplet for step (a) in the next iteration.
 24. Apparatusaccording to claim 23 in which at least one, preferably each of saidincrements, of step (a) is determined by one of a reduction by apredetermined amount in comparison with the previous increments andmaintenance at a respective predetermined minimum value, thus definingtwo new additional points on each A, B, C axis.
 25. Apparatus accordingto claim 23 or 24 in which said processing means is adapted to end theiterations when said increments are equal to their respectivepredetermined minimum value and when the new triplet Ac, Bc, Cc isidentical to the one of the previous iteration and to use the newtriplet, Ac, Bc, Cc as said generated device-dependent image signaltriplet.
 26. Color output device, comprising:(a) first input means forreceiving device-independent coordinate triplets of target colors; (b)storage means for storing generated device-independent color imagesignal triplets output by an apparatus for generating device-dependentsignals representative of target colors, respectively as input andoutput triplets of a first conversion table, said apparatuscomprising:(1) second input means for receiving a device-independentcoordinate triplet of a given target color; (2) first memory means inwhich a second conversion table is stored, said second conversion tablecontaining device-dependent color image signal triplets of said coloroutput device and their corresponding device-independent coordinatetriplets; (3) first data processor means for performing, on the basis ofsaid second conversion table, a conversion of said device-independenttriplet of said given target color into a generated device-dependentcolor image signal coordinate triplet which, when employed to generate acolor with said color output device, at least approximates said targetcolor, said first data processing means further comprising:firstdetermining means for determining, in said second conversion table, afirst device-independent coordinate triplet having the smallest firstcolor difference value ΔE with respect to the device-independentcoordinate triplet of said target color; and second determining meansfor determining from said first device-independent coordinate tripletsaid generated device-dependent color image signal coordinate triplet;wherein said second determining means bases the determination of saidfirst device-dependent color image signal coordinate triplet on a groupof known preselected device-dependent color image signal tripletssurrounding a given device-dependent color image signal triplet, thedevice-independent coordinate triplets of said preselecteddevice-dependent color image signal triplets being either known orcalculated by interpolation from device-independent coordinatetriplet/device-dependent color image signal triplet sets known from saidsecond conversion table, each one of the group of said deviceindependent coordinate triplets of said preselected device-dependentcolor image signal triplets is compared with the device independentcoordinate of said target color and the device-dependent color imagesignal triplet corresponding to the device independent coordinatetriplet of said group for which a second color difference ΔE withrespect to the device-independent coordinate triplet of said targetcolor is the smallest is selected as said generated device dependentcolor image signal triplet, (c) second data processing means fordetermining for a device-independent coordinate triplet of a targetcolor, received by said first input means, the correspondingdevice-dependent color image signal triplet on the basis of said firstconversion table stored in said storage means; and, (d) output means foroutputting a color represented by a device-dependent color image signaltriplet determined by said second data processing means, said outputcolor at least approximating a target color.
 27. Color output deviceaccording to claim 26, wherein said color output device is a colorprinter.
 28. Color output device according to claim 26, wherein saidcolor output device is a color copier.
 29. Color output device accordingto claim 26, said first data processing means further comprising:indicator means for setting a device-dependent color image signaltriplet, preferably corresponding to said first device-independentcoordinate triplet, as a pivot triplet Ac, Bc, Cc, and third dataprocessing means adapted for executing the following steps:(a) selectingfor each value of said pivot triplet Ac, Bc, Cc, a positive and anegative increment on the respective A, B and C axis of the ABC colorspace of said output device, thus defining two new additional points oneach of the A, B an C axes; (b) determining all possible A, B, Ccombination triplets from said pivot triplet and said increments andcalculating the corresponding device-independent coordinate triplets byincrements and calculating the corresponding device-independentcoordinate triplets by interpolation using the device-independentcoordinate triplets stored in said first conversion table for devicedependent ABC triplets neighboring A, B, C combination triplets; (c)calculating for each said calculated device-independent coordinatetriplet a third difference value ΔE with respect to thedevice-independent coordinate triplet of said target color; (d)selecting from said A, B, C combination triplets and said pivot triplet,the one corresponding to the calculated device-independent coordinatetriplet having the smallest third difference value ΔE as a new tripletAc, Bc, Cc; and (e) ending the method, preferably when said smallestcalculated third difference value is smaller than a predeterminedminimum difference value, and using said new pivot triplet Ac, Bc, Cc assaid generated device dependent color image signal triplet.
 30. Coloroutput device according to claim 29, wherein said third data processingmeans is adapted to repeat steps (a) to (d) employing said new tripletAc, Bc, Cc determined in step (d) as said pivot triplet for step (a) inthe next iteration.
 31. Color output device according to claim 29 or 30in which said processing means is adapted to end the iterations whensaid increments are equal to their respective predetermined minimumvalue and when the new triplet Ac, Bc, Cc is identical to the one of theprevious iteration -and to use the new triplet Ac, Bc, Cc as saidgenerated device-dependent image signal triplet.
 32. Color output deviceaccording to claim 30 in which at least one, preferably each of saidincrements, of step (a) is determined by one of a reduction by apredetermined amount in comparison with the previous increments andmaintenance at a respective predetermined minimum value, thus definingtwo new additional points on each A, B, C axis.